블로그
카테고리 이동
2022년 초 에릭 르완슨의 '금융 파이썬 쿡북' 을 끝까지 공부한 적이 있었다.
하지만 언제나 그렇듯 다시 복습하지 않으면, 진짜 내 것이 되지 않는다.
이번 기회에 책을 다시 읽어보면서 정리해야겠다 싶은 지점은 한번 다시 정리해보기로 했다.
가장 먼저 금융, 주식 데이터 를 불러오는 것부터 시작한다.
금융 데이터 를 불러오는 주요 방법으로는 3가지가 있는데
야후 파이낸스(yfinance), 퀀들(Quandl), 인트리니오(Intrinio) 라이브러리 를 각각 이용하는 것이 바로 그것이다.
하나씩 리뷰해보자.
야후 파이낸스(yfinance) 라이브러리로 금융 데이터 불러오기
yfinance 홈페이지
야후 파이낸스 yfinance 는 가장 편하고, 간편하게 쓸 수 있으며, '무료'인 금융 파이썬 라이브러리 이다.
pandas를 제공하 지 않기 때문에 직접 yfinance 라이브러리 내에서 데이 터 편집을 해야하는 수고는 필요하다
야후 파이낸스 yfinance 는
① 라이브러리 설치:!pip install yfinance
② 라이브러리 불러오기: import yfinance as yf
③ 데이터 불러오기: 메써드(method) yf.download 이용
으로 간편하게 데이터를 불러올 수 있다.
특히 yf.download 는
① Ticker 자리에 여러 개 Ticker를 넣어서 복수의 데이터를 받을 수 있고
② action = 'inline'으로 배당, 액면분할 정보를 추가로 받을 수 있다
퀀들(Quandl)로 금융 데이터 불러오기
quandl 홈페이지
퀀들 Quandl 부터는 가입이 필요하다. 물론 돈을 요구하거나 그렇지는 않았다.
다만 접속 시 나스닥이 뜨길래 당황했지만, 나스닥 데이터 홈페이지로 들어가서 가입하는 것 맞다. 가입 이후에 API Key만 따로 복사하면 된다.
퀀들 Quandl 에서의 아쉬운 점은 주식 데이터 의 경우 2018년 4월 이전의 데이터만 받을 수 있다는 점이다.
그래도 금, 은, 구리, 원유 등 원자재 가격은 계속 제공하고 있기는 하다.
금: LBMA/GOLD, 은: LBMA/SILVER, 구리: CHRIS/CME_HG10, 원유: OPEC/ORB
퀀들 Quandl 도 아까 야후 파이낸스 yfinance 와 사용법은 같다. 다만 중간에 API Key는 넣어줘야 한다.
① 라이브러리 설치:!pip install quandl
② 라이브러리 불러오기: import quandl
③ 데이터 불러오기: 메써드(method) quandl.get 이용
퀀들 Quandl 도 역시 복수 Ticker 정보 추출 가능하고
collapse parameter에 daily, weekly, monthly, quarterly, annually로 추출 빈도를 정할 수 있다.
인트리니오(Intrinio)에서 금융 데이터 불러오기
Intrinio 홈페이지
인트리니오 Intrinio 라이브러리 는 일부는 무료이고, 일부는 유료이다.
똑같이 금융, 주식 데이터 를 받을 수 있지만, RSI, MACD, ADX와 같은 보조 지표들도 데이터를 받을 수 있다는 특장점이 있다.
역시 퀀들 Quandl 처럼 미리 가입해놓고 API Key를 복사해놓은 상태에서 인증하여 사용이 가능하다.
인트리니오 Intrinio 의 사용법은 같다
① 라이브러리 설치:!pip install intrinio_sdk
② 라이브러리 불러오기: import intrinio_sdk
③ 데이터 불러오기: 메써드(method) security_api.get_security_stock_prices 이용
indentifier: Ticker, frequency: daily, weekly, monthly, quarterly, yearly, page_size: 페이지 마다 넣을 데이터 개수
이외에는 iexfinance, tiingo, alpha_vantage, morning_star 를 사용한다고들 한다.
특히 iexfinance 는 사용하기 편한 형식으로 되어있고, alpha_vantage 는 여러가지 보조지표는 물론이고 암호화폐까지 제공하고 있었다.
morning_star 는 너무나도 유명하니... ㅎㅎ
이제 금융 데이터 를 받아왔으니 요리를 시작할 차례이다.
하나씩 시작해보자.